package com.suep.business.mapper;


import com.suep.business.domain.Store;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface StoreMapper {

    /**
     * 根据 store_id 查询商店信息
     * @param store_id 商店 ID
     * @return 商店对象
     */
    @Select("SELECT * FROM store WHERE store_id = #{store_id}")
    Store getStoreById(int store_id);



    /**
     * 根据 user_id 查询商店信息
     * @param user_id 用户 ID
     * @return 商店对象
     */
    @Select("SELECT * FROM store WHERE user_id = #{user_id}")
    Store getStoreByUserId(int user_id);

    /**
     * 查询所有商店信息
     * @return 商店列表
     */
    @Select("SELECT * FROM store")
    List<Store> getAllStores();

    /**
     * 插入一个新的商店
     * @param store 商店对象
     * @return 影响的行数
     */
    @Insert("INSERT INTO store (store_name, user_id, address, phone, category, status) " +
            "VALUES (#{store_name}, #{user_id}, #{address}, #{phone}, #{category}, #{status})")
    int insertStore(Store store);

    /**
     * 更新商店信息
     * @param store 商店对象
     * @return 影响的行数
     */
    @Update("UPDATE store SET " +
            "store_name = #{store_name}, " +
            "user_id = #{user_id}, " +
            "address = #{address}, " +
            "phone = #{phone}, " +
            "category = #{category}, " +
            "status = #{status} " +
            "WHERE store_id = #{store_id}"+
            "user_id = #{user_id}")
    int updateStore(Store store);

    /**
     * 删除商店
     * @param store_id 商店 ID
     * @return 影响的行数
     */
    @Delete("DELETE FROM store WHERE store_id = #{store_id}")
    int deleteStore(int store_id);
}
